1. Field of the Invention
This invention relates to a method of performing graphics fill of line formed geometric shapes displayed on a screen of a video display terminal. More particularly, this invention discloses a novel method for determining graphic fill pixel positions that may be implemented in simplified high speed hardware form.
2. Description of the Prior Art
Graphics fill is a term which is employed herein to define the process of coloring or shading areas inside of a geometric shape or polygon defined by lines. The lines which define the area to be filled should be closed to form the geometric shape or polygon of any irregular shape. Since the lines which define the shape are being displayed on an electronic display panel, the lines are formed by individual dots or points herein called pixels, thus, any geometric shape straight or curved is composed of a series of dots or straight lines of the type which are displayed on a display panel. For purposes of this invention, the polygon may be defined by pixel or dot positions on the screen of a visual display panel such as a cathode ray tube (CRT) or equivalent display having a plurality of pixel or dot positions. The individual pixel graphic line positions may be stored in the memory, such as those currently employed with visual display terminals, to maintain the graphic line-defined polygon on a display screen.
It is apparent that an operator of a visual display panel could place the cursor of the display panel at a plurality of points within a line-defined polygon and manually enter fill data at each of the pixel points located by the cursor. Since a typical CRT display screen for a visual display panel employs a matrix of pixels or dots on the screen which is five hundred twelve dots wide by three hundred seventy-five dots vertically long, any such manual method of entering data requires an excessive amount of time and is not acceptable.
Commercially available video display terminals have incorporated therein software routines that permit the operator to locate a single point inside of a closed polygon. After this point is indicated to the logic hardware of the terminal, the operator may initiate a fill routine. The software of the video display terminal is then programmed to operate in several ways to complete the fill operation. The faster and more complex routines are programmed to store fill data in the original selected pixel or dot position of memory, then the software continues to store fill data in the adjacent pixel or dot positions working out from the original point until a pixel or dot position is reached where the edge of the polygon is located. Thus, the software must define a program that extends the fill data outward from the selected starting point until the graphics line or boundary is reached. One recognized method of scanning and determining fill positions within a polygon is to design a polar coordinate software program. Such complex polar coordinate software programs are operable for circles, rectangles etc. that may be defined by a single vector length on each polar degree vector employed. When the polygon has irregular shapes that would require a plurality of vector lengths on one or more polar degree vectors, the software must then be refined to permit stopping of the generation of fill data and the starting again of fill generation at a longer vector length. Alternatively, the software must provide a means of scanning in more than one direction from a different point of origin. Obviously, such software programs are not only complex, but require an inordinate amount of time to perform the fill operation even when performed using a high speed electronics computer of the type available in the better and more expensive video display terminals.
It would be desirable to provide a simplified method of determining the graphics fill points within a graphics line polygon or a plurality of line polygons on a display screen of a video display terminal. It would further be highly desirable if the method could be implemented in simplified hardware to achieve high speed graphics fill automatically.